CCFLAGS = -std=gnu++98 -W -Wall -pedantic
LDFLAGS = 
RMFLAGS = -f

BUILDDIR = build

XMLINT = Attribut.h Noeud.h Balise.h Texte.h
DTDINT = DtdComposite.h DtdDeclaration.h DtdElement.h DtdNode.h DtdTree.h
XSLINT = XSLStylesheet.h XSLEngine.h
VALINT = DtdValidator.h

INT = main.h $(XMLINT) $(DTDINT) $(XSLINT) $(VALINT) testSamples.h
REAL = $(INT:.h=cpp)
OBJ = $(INT:.h=.o)
OBJJ = analyseurSyntaxique/AnalyseurXML/lex.xml_.o analyseurSyntaxique/AnalyseurXML/xml.tab.o analyseurSyntaxique/AnalyseurDTD/lex.dtd_.o analyseurSyntaxique/AnalyseurDTD/dtd.tab.o

#JULIENREAL = lex.dtd_.c dtd.tab.c lex.xml_.c  xml.tab.c
#JULIENOBJ = $(JULIENREAL:.c=.o)

vpath
vpath %h ./parseur/XML ./parseur/DTD/tree ./parseur/XSL ./parseur ./parseur/Validator
vpath %cpp ./parseur/XML ./parseur/DTD/tree ./parseur/XSL ./parseur ./parseur/Validator
vpath %o ./parseur ./parseur/XML ./parseur/DTD/tree ./parseur/XSL ./parseur/Validator #./analyseurSyntaxique/AnalyseurDTD ./analyseurSyntaxique/AnalyseurXML 

EXE = XMLTest
EFFACE = clean
RM = rm
ECHO = echo
COMP = g++
EDL = g++
LIBS = -lboost_regex
LIBTP =


$(EXE):$(OBJ) $(OBJJ)
	$(ECHO) Edl de $(EXE)
	$(EDL) $(LDFLAGS) -o $(EXE) $(OBJ) $(OBJJ) $(LIBTP) $(LIBS)

$(OBJJ) :
	cd analyseurSyntaxique/AnalyseurXML; make
	cd  analyseurSyntaxique/AnalyseurDTD; make

$(OBJ): %.o:%.cpp
	$(ECHO) compil de $<
	$(COMP) $(CCFLAGS) -c $<

#$(JULIENOBJ): %.o:%.c
#	$(ECHO) compil de $<
#	$(COMP) $(CCFLAGS) -c $<

$(EFFACE):
	$(RM) $(RMFLAGS) $(EXE) $(OBJ) core
	cd analyseurSyntaxique/AnalyseurXML; make clean
	cd analyseurSyntaxique/AnalyseurDTD; make clean